package com.hxzy.tms.service;

import com.hxzy.tms.entity.User;

public interface UserService {
    ServiceResult<User> read(long id);

    ServiceResult<String> generateUsername(String ip);

    ServiceResult<String> generateSessionHash(String ip);

    ServiceResult<User> getUser(String hash, String ip);

    /**
     * 用户登录，登录成功之后就可以 使用 SessionHolder.get 获取到登录用户的信息。 客户端不需要自己将用户信息记录到 session
     * 中
     * 
     * @param username
     * @param password
     * @param ip
     * @return
     */
    User login(final String username, final String password, final String ip);

    void logout();

    ServiceResult<User> register(String email, String passwd, String nickname, String realname, long mobile,
            String vercode, String ip);

}
